package com.grt.admin.service;

import java.util.List;

import org.springframework.data.domain.Page;

import com.grt.admin.domain.Article;
import com.grt.admin.domain.ArticleType;
import com.grt.admin.util.ArticleQuery;
import com.grt.admin.util.ArticleTypeQuery;

public interface ArticleService {
	/**
	 * 保存文章
	 * 
	 * @param oArticle
	 * @return
	 */
	Article saveArticle(Article oArticle);

	/**
	 * 根据id获取文章
	 * 
	 * @param articleId
	 * @return
	 */
	Article getArticleById(long articleId);

	/**
	 * 删除
	 * 
	 * @param oArticle
	 */
	void deleteArticle(Article oArticle);

	/**
	 * 带搜索条件的获取文章列表
	 * 
	 * @param articleQuery
	 * @return
	 */
	List<Article> getIndexArticleList(ArticleQuery articleQuery);

	/**
	 * 获取所有文章
	 * 
	 * @param pageindex
	 * @param pagesize
	 * @return
	 */
	Page<Article> getArticleList(int pageindex, int pagesize);

	/**
	 * 保存文章分类
	 * 
	 * @param oArticleType
	 * @return
	 */
	ArticleType saveArticleType(ArticleType oArticleType);

	/**
	 * 获取文章分类列表
	 * 
	 * @param pageindex
	 * @param pagesize
	 * @return
	 */
	Page<ArticleType> getArticleTypeList(int pageindex, int pagesize);

	/**
	 * 查询分类列表
	 * 
	 * @param articleQuery
	 * @return
	 */
	List<ArticleType> getArticleTypeList(ArticleTypeQuery articleTypeQuery);

	/**
	 * 根据id获取文章分类
	 * 
	 * @param id
	 * @return
	 */
	ArticleType getArticleTypeById(long id);
}
